local classAddons = {
	onlyFor = {
		DRUID = {
			"Alamo";
			"SmartyCat";
			"SmartyCatManaBar";
		};
		HUNTER = {
			"KingOfTheJungle";
			"LittleTrouble";
		};
		WARLOCK = {
			"eeShards";
			"mDarkpact";
		};
		SHAMAN = {
			"Enhancer";
			"Enhelper";
			"GotWood";
			"Numen";
			"WF3sec";
			"WFtotem";
			"Yata";
		};
	};
	notFor = {
	};
	pet = {
		"FuBar_PetFu";
		"FuBar_PetInfoFu";
		"FuBar_PetInFu";
	};
	tank = {
		"Tankalyze";
		"TauntWarn";
	};
};

-- TODO: fix so that this only disables the addon if necessary (if needed)
function SarfFix2:ClassAddOns_DisableAddOn(name)
	DisableAddOn(name);
end

function SarfFix2:ClassAddOns_Fix()
	local _, uniClass = UnitClass("player");
	local arr = classAddons.notFor[uniClass];
	if ( arr ~= nil ) then
		for k,v in pairs(arr) do 
			SarfFix2:ClassAddOns_DisableAddOn(v);
		end
	end
	arr = classAddons.onlyFor;
	if ( arr ~= nil ) then
		for k,v in pairs(arr) do
			if ( k ~= uniClass ) then 
				for key, value in pairs(v) do
					SarfFix2:ClassAddOns_DisableAddOn(value);
				end
			end
		end
	end
	if ( uniClass ~= "WARLOCK" ) and ( uniClass ~= "HUNTER" ) then
		arr = classAddons.pet;
		for k,v in pairs(arr) do
			SarfFix2:ClassAddOns_DisableAddOn(v);
		end
	end
	if ( uniClass ~= "DRUID" ) and ( uniClass ~= "WARRIOR" ) then
		arr = classAddons.tank;
		for k,v in pairs(arr) do
			SarfFix2:ClassAddOns_DisableAddOn(v);
		end
	end
end

SarfFix2:ClassAddOns_Fix()